Memory devices having high capacity and low latency are highly demanded for data center applications. Such memory device may employ a deduplication scheme as well as a data compaction scheme to provide a larger memory capacity than their physical memory size. Deduplicated memory devices can consistently achieve a high deduplication ratio by reducing the duplicated user data and fully utilizing the available memory resources. In addition, the deduplication scheme employed by the deduplicated memory devices can achieve efficient addressing to the deduplicated data.
When employing a deduplication scheme, issues such as hash collision and end-of-memory capacity may arise that require proper handling in both the memory hardware and the software for controlling the memory device. For example, when a user data cannot be fit into a bucket of the hash table, the user data is placed in an overflow region of the deduplicated memory device. When a host computer writes the new user data to a location that is pointed to an entry in the overflow memory region of the deduplicated memory device, the overflow memory region will have an invalid entry because the new user data is written to the hash table. In this case, the new user data is written into the deduplicated memory region or a new overflow memory region. As a result, the overflow region can contain an invalided entry that is commonly referred to as a memory hole.